#!/usr/bin/env bash
_IPLINK(){
        ip link
		echo "digite sua interface de rede"
		read rede
		systemctl enable dhcpcd@$rede.service
		systemctl start dhcpcd@$rede.service
}
_HD(){
	echo "Qual o tipo de instalacao vc deseja fazer (1)Simples ou (2)Avancada ?"
read ins
[ "$ins" -ne 1 ] || [ "$ins" -ne 2 ] && return _HD

if [ "$ins" -eq "" ]; then
	echo "Particione o disco em em / e SWAP o /HOME e opcional"			
	cfdisk /dev/sda
else
    echo "Particione o disco em /BOOT / e SWAP o /HOME e opcional"
	cfdisk /dev/sda
fi
}
_FORMATE(){
       	mkfs.fat -F32 -n BOOT /dev/sda1
		mkfs.ext4 /dev/sda2
		mkfs.ext4 /dev/sda3
		mkswap /dev/sda4 && swapon /dev/sda4
}
_MONT(){
        mount /dev/sda2 /mnt
		mkdir -p /mnt/boot && mount /dev/sda1 /mnt/boot
		mkdir -p /mnt/home && mount /dev/sda3 /mnt/home        
}
_SYSTEMBASE(){
        pacstrap /mnt base 
		genfstab -U -p /mnt >> /mnt/etc/fstab 
  		nano /mnt/etc/fstab
}
_CHROOT(){
        cp Install_Arch /mnt
        arch-chroot /mnt 
		loadkeys br-abnt2
		chmod +x Install_Arch
		./Install_Arch
}
_LINGUATECLADO(){

   		sed -i "s/#pt_BR.UTF-8/pt_BR.UTF-8/" /etc/locale.gen
		echo LANG=pt_BR.UTF-8 > /etc/locale.conf
		export LANG=pt_BR.UTF-8
		printf "KEYMAP=br-abnt2 \nFONT=Terminus16 \nFONT MAP= " > /etc/vconsole.conf
}
_LINGUASYSTEMA(){
        ln -sf /usr/share/zoneinfo/America/Bahia /etc/localtime
		printf "digite o nome da cidade de sua preferencia"	
		read cidade
		ls /usr/share/zoneinfo/America/$cidade
		hwclock --systohc --utc
}
_REDE(){

        echo "digite sua interface de rede"
		read rede 
		systemctl enable dhcpcd@$rede.service
		systemctl start dhcpcd@$rede.service
}
_ATUALIZAR(){
        pacman -Suyy
}
_BOOT(){
        bootctl install
		rm -rf /boot/load/load.conf
		 > /boot/load/load.conf
		printf "timeout 2\ndefaut arch\ntitle Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root=/dev/sda2 rw" \ 
                > /boot/load/load.conf && cp /boot/load/load.conf \
                /boot/load/entries/ && cd /boot/load/entries/ \
                && mv load.conf arch.conf
}
_GRUB(){

       	pacman -S grub efibootmgr
		grup-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
		grub-mkconfig -o /boot/grub/grub.cfg
}
_ROOT(){
		clear
		echo "Digite a senha de usuario"
}

loadkeys br-abnt2
while true; do
cat << EOF
                 Parte 1                             Parte 2
	 **********************************  *******************************************
	* 1 -  Setando a interface de rede  *  7 - Configurando Linguagem do systema    *
	* 2 -  Particionando o Disco        *  8 - Escolhendo a Linguagem do sistema    *
	* 3 -  Formatando as partições      *  9 - Setando a interface de rede          *
	* 4 -  Montando as partições        * 10 - Atualizando pacotes                  *
	* 5 -  Instalando o systema base    * 11 - Configurando o boot do sistema       *
	* 6 -  Iniciando Arch-Chroot        * 12 - Instalando e configurando o grub     *
	* ********************************* * 13 - Senha de super usuario               *
                                         *******************************************
EOF
	read options


    case $options in
    1) _IPLINK break ;; 
    2) _HD ;;
    3) _FORMATE ;;
    4) _MONT ;;    
    5) _SYSTEMBASE ;; 
    6) _CHROOT ;;
    7) _LINGUATECLADO ;;		
    8) _LINGUASYSTEMA ;;
    9) _REDE ;;  	
   10) _ATUALIZAR ;;		
   11) _BOOT ;;		
   12) _GRUB ;;
   13) _ROOT ;;

esac 
done
				exit
				umount -R /mnt
				reboot
